{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "5236e07a",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split, GridSearchCV, cross_val_score\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.linear_model import LogisticRegression as LR\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.metrics import accuracy_score\n",
    "from sklearn.metrics import make_scorer"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7a5dbb87",
   "metadata": {},
   "source": [
    "## 导入数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "c1a48365",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = load_iris()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "6de44d87",
   "metadata": {},
   "outputs": [],
   "source": [
    "X = data.data\n",
    "Y = data.target"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "311ab312",
   "metadata": {},
   "source": [
    "## 切分数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "79d86705",
   "metadata": {},
   "outputs": [],
   "source": [
    "Xtrain, Xtest, Ytrain, Ytest = train_test_split(X,Y,test_size=0.3,random_state=420)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b7f934c8",
   "metadata": {},
   "source": [
    "## 使用标准化包，对训练集来学习，从而对训练集和测试集来做标准化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "34f8c337",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "lrl1 = LR(penalty=\"l1\",solver=\"liblinear\",C=0.5,max_iter=1000)\n",
    "lrl2 = LR(penalty=\"l2\",solver=\"liblinear\",C=0.5,max_iter=1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "c52ece96",
   "metadata": {},
   "outputs": [],
   "source": [
    "lrl1 = lrl1.fit(Xtrain,Ytrain)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "027d9222",
   "metadata": {},
   "outputs": [],
   "source": [
    "lrl2 = lrl2.fit(Xtrain,Ytrain)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "ab8e93fb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9904761904761905"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrl1.score(Xtrain,Ytrain)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "73249568",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lrl2.score(Xtrain,Ytrain)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a85df060",
   "metadata": {},
   "source": [
    "## 在确定l2范式的情况下，使用网格搜索判断solver, C的最优组合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "5a22cfa2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD5CAYAAAAp8/5SAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAdV0lEQVR4nO3dfXBV9b3v8fc3IeEhCRjCg9bwLOVBByknog61R48K6LXFVrDUnmptb6l36h3v7Yw9nNuZO3PPmXacsQ/nTLWljPU6ndbaaEFTywFqW8HT6pVg8QF2AimPAZTs8BwIefreP7JDd0MwK2TvrOy1Pq+ZDFlr/X57f1cYPqz89m+tn7k7IiISXXlhFyAiItmloBcRiTgFvYhIxCnoRUQiTkEvIhJxCnoRkYgbEqSRmS0G/h3IB55y98e6HS8FngamAc3Al9z9vSB9ezJmzBifPHlyH05DRCTetm7dmnT3sT0d6zXozSwfeBK4HagHtphZlbvvSGv2v4Bt7v5pM5uZan9rwL4XmDx5MtXV1UHOTUREADPbd7FjQYZu5gN17r7b3VuA54Al3drMBn4H4O41wGQzGx+wr4iIZFGQoL8SOJC2XZ/al+5t4DMAZjYfmASUB+wrIiJZFCTorYd93Z+b8BhQambbgP8O/BloC9i3803MVphZtZlVNzQ0BChLRESCCPJhbD0wIW27HDiU3sDdTwIPApiZAXtSXyN665v2GquB1QAVFRV6AI+ISIYEuaLfAkw3sylmVggsB6rSG5jZZaljAP8V2JwK/177iohIdvV6Re/ubWb2MLCBzimST7v7djN7KHV8FTAL+KmZtQM7gC9/WN/snIqIiPTEBuNjiisqKlzTK0VEgjOzre5e0dOxQDdMiYika21tpbq6mubm5rBLiZTCwkIWLFiQ8ddV0ItInxw9epTKyko++OCDsEuJnOLiYgW9iIRr586drF27FoD77ruP6dOnh1yRBKGgF5FedXR0sGnTJjZv3szll1/OvffeS2lpadhlSUAKehH5UGfOnGHNmjX85S9/Ye7cudx5550UFBSEXZb0gYJeRC7q0KFDVFZWcvr0ae666y7mzZtH5z2RkksU9CLSo7feeot169ZRXFzMgw8+yJVX6jFVuUpBLyJ/o7W1lXXr1rFt2zamTZvGZz7zGUaMGBF2WdIPCnoROe/48eNUVlZy+PBhbrrpJm6++Wby8rQQXa5T0IsIAHV1daxZs4aOjg6WL1/OjBkzwi5JMkRBLxJz7s7mzZt59dVXGT9+PPfeey+jR48OuyzJIAW9SIydPXuWtWvXsmvXLubMmcNdd92lqZMRpKAXianDhw9TWVnJyZMnufPOO6moqNDUyYhS0Mugd/r0afbv3x92GZFy/Phx/vCHPzBixAgefPBBysvLwy5JskhBL4Panj17eOGFFzhz5kzYpUTOlClTuOeeeygqKgq7FMkyBb0MSu7On/70J373u99RVlbGvffey/Dhw8MuKzLy8vIoKyvTUE1MKOhl0Dl37hwvvvgiNTU1XH311XzqU5+isLCw944i0iMFvQwqR44cobKykqNHj7Jw4UJuuOEGXXWK9JOCXgaNd999l1//+tcMHTqUBx54gEmTJoVdkkgkKOgldO3t7WzcuJE333yTiRMnsnTpUkpKSsIuSyQyFPQSqlOnTvH8889z4MABbrjhBm677Tby8/PDLkskUgIFvZktBv4dyAeecvfHuh0fBfwMmJh6ze+4+/9NHdsLnALagbaLrVIu8bN3715eeOEFWlpauOeee7jmmmvCLkkkknoNejPLB54EbgfqgS1mVuXuO9KafQ3Y4e6fNLOxQK2Z/dzdW1LHb3H3ZKaLl9zk7rz++uu88sorjB49mgceeICxY8eGXZZIZAW5op8P1Ln7bgAzew5YAqQHvQMl1jk9ohg4CrRluFaJgHPnzlFVVcWOHTuYNWsWS5YsYejQoWGXJRJpQYL+SuBA2nY9cH23Nk8AVcAhoAT4rLt3pI45sNHMHPixu6/u6U3MbAWwAmDixImBT0ByR0NDA5WVlTQ2NnL77bdz4403auqkyAAIEvQ9/Uv0btuLgG3APwDTgN+a2WvufhJY4O6HzGxcan+Nu2++4AU7/wNYDVBRUdH99SXHbd++naqqKgoKCrj//vuZPHly2CWJxEaQoK8HJqRtl9N55Z7uQeAxd3egzsz2ADOBN939EIC7HzGztXQOBV0Q9DL4uDvHjx+no6Oj98Yf8hpbt27ljTfeoLy8nGXLljFy5MgMVikivQkS9FuA6WY2BTgILAfu69ZmP3Ar8JqZjQdmALvNrAjIc/dTqe8XAv+Sseola5qbm1m7di07d+7MyOvNnz+fhQsXauqkSAh6DXp3bzOzh4ENdE6vfNrdt5vZQ6njq4B/BZ4xs3fpHOr5J3dPmtlUYG1qHHYI8Ky7r8/SuUiGvP/++1RWVnLixAluvvnmfq82NHLkSN3lKhIi6xxtGVwqKiq8uro67DJi6e233+bll19m+PDhLFu2jAkTJvTeSURCZ2ZbL3afku6MFQDa2trYsGED1dXVTJo0iaVLl1JcXBx2WSKSAQp64eTJk1RWVnLw4EFuvPFGbrvtNvLy8sIuS0QyREEfc10rOLW1tbFs2TJmz54ddkkikmEK+phyd/74xz/y+9//nrKyMj772c8yZsyYsMsSkSxQ0MdQc3MzL730klZwEokJBX3MHDlyhF/+8pccO3aMRYsWcf311+sxBCIRp6CPEa3gJBJPCvoY0ApOIvGmoI+4kydP8vzzz1NfX68VnERiSkEfYekrOC1dupSrr7467JJEJAQK+gxrampi1apVnD17NuxSaG9vp6ysTCs4icScgj7DduzYwenTp5k/fz4FBQWh1jJ06FDmz5+vFZxEYk5Bn2E1NTWUlZWxePFiTVsUkUFBDzTJoLNnz7Jnzx5mzpypkBeRQUNBn0G1tbW4u54XIyKDioI+g2pqahg5ciRXXHFF2KWIiJynoM+QlpYW6urqmDVrloZtRGRQUdBnyK5du2hvb2fWrFlhlyIi8jcU9BlSU1PDiBEjtPSeiAw6CvoMaGtrY+fOncycOVMrM4nIoKNUyoDdu3fT0tKiYRsRGZQCBb2ZLTazWjOrM7OVPRwfZWa/NrO3zWy7mT0YtG8UJBIJhg4dypQpU8IuRUTkAr0GvZnlA08CdwCzgc+ZWfeJ4l8Ddrj7tcDNwHfNrDBg35zW0dFBbW0tM2bM0FMhRWRQCnJFPx+oc/fd7t4CPAcs6dbGgRLrnFdYDBwF2gL2zWn79u3j7NmzzJw5M+xSRER6FCTorwQOpG3Xp/alewKYBRwC3gUecfeOgH0BMLMVZlZtZtUNDQ0Byw9fIpFgyJAhXHXVVWGXIiLSoyBB39PdP95texGwDfgIMBd4wsxGBuzbudN9tbtXuHtFrjxS192pqalh+vTpoT+pUkTkYoIEfT2QPjm8nM4r93QPAmu8Ux2wB5gZsG/OOnjwIKdOndKwjYgMakGCfgsw3cymmFkhsByo6tZmP3ArgJmNB2YAuwP2zVk7duwgLy+Pj370o2GXIiJyUb0+j97d28zsYWADkA887e7bzeyh1PFVwL8Cz5jZu3QO1/yTuycBeuqbnVMZWF3DNlOnTmXYsGFhlyMiclGBFh5x93XAum77VqV9fwhYGLRvFHzwwQccO3aMj3/842GXIiLyoXRn7CVKJBKYGTNmzAi7FBGRD6Wgv0Q1NTVMnDiRoqKisEsREflQCvpL0NjYyJEjR/RsGxHJCQr6S5BIJAA0rVJEcoKC/hLU1NTwkY98hFGjRoVdiohIrxT0fXTixAkOHjyoYRsRyRkK+j6qqakBUNCLSM5Q0PdRIpFg3LhxlJWVhV2KiEggCvo+aGpqYv/+/foQVkRyioK+D2pra3F3DduISE5R0PdBIpGgtLSU8ePHh12KiEhgCvqAmpub2b17NzNnzqRzIS0RkdygoA9o165ddHR0aNhGRHKOgj6gRCJBcXEx5eXlYZciItInCvoAWltb2bVrl4ZtRCQnKegDqKuro62tjdmzZ4ddiohInynoA6ipqWH48OFMmjQp7FJERPpMQd+L9vZ2amtrmTFjBnl5+nGJSO5RcvViz549nDt3TrNtRCRnKeh7kUgkKCwsZOrUqWGXIiJySQIFvZktNrNaM6szs5U9HH/UzLalvt4zs3YzG506ttfM3k0dq870CWRTR0cHtbW1TJ8+nSFDAq2jLiIy6PSaXmaWDzwJ3A7UA1vMrMrdd3S1cffHgcdT7T8J/E93P5r2Mre4ezKjlQ+AAwcO0NTUpGEbEclpQa7o5wN17r7b3VuA54AlH9L+c8AvMlFc2BKJBPn5+UyfPj3sUkRELlmQoL8SOJC2XZ/adwEzGwEsBn6VttuBjWa21cxWXGqhA83dSSQSXHXVVRQWFoZdjojIJQsS9D3dCuoXaftJ4I/dhm0WuPs84A7ga2b2iR7fxGyFmVWbWXVDQ0OAsrLr8OHDnDx5Us+eF5GcFyTo64EJadvlwKGLtF1Ot2Ebdz+U+vMIsJbOoaALuPtqd69w94qxY8cGKCu7EokEZsaMGTPCLkVEpF+CBP0WYLqZTTGzQjrDvKp7IzMbBfw98FLaviIzK+n6HlgIvJeJwrOpa9hmypQpDB8+POxyRET6pddZN+7eZmYPAxuAfOBpd99uZg+ljq9KNf00sNHdm9K6jwfWph4ENgR41t3XZ/IEsiGZTNLY2Mj1118fdikiIv0WaHK4u68D1nXbt6rb9jPAM9327Qau7VeFIUgkEgAanxeRSNCdsT1IJBJMmDCBkpKSsEsREek3BX03x44d4/3339dNUiISGQr6bjRsIyJRo6Dvpqamhssvv5zS0tKwSxERyQgFfZrm5mYOHDigufMiEikK+jRdd+ReccUVIVciIpI5Cvo0yWTnAzYHw525IiKZoqBP09DQQH5+PpdddlnYpYiIZIyCPk0ymWTMmDFaG1ZEIkWJlqahoYExY8aEXYaISEYp6FNaW1s5fvy4gl5EIkdBn9LY2Ajog1gRiR4FfUrX1Epd0YtI1CjoU5LJJGZGWVlZ2KWIiGSUgj4lmUxSWlrKkCGBntwsIpIzFPQpmnEjIlGloAc6OjpobGxU0ItIJCno6XwGfUdHh2bciEgkKejRjBsRiTYFPX99mJmCXkSiSEFPZ9CXlJQwbNiwsEsREcm4QEFvZovNrNbM6sxsZQ/HHzWzbamv98ys3cxGB+k7GGjGjYhEWa9Bb2b5wJPAHcBs4HNmNju9jbs/7u5z3X0u8M/AJnc/GqRv2Nz9/FMrRUSiKMgV/Xygzt13u3sL8Byw5EPafw74xSX2HXCnTp2ipaVFM25EJLKCBP2VwIG07frUvguY2QhgMfCrS+i7wsyqzay6axbMQNCMGxGJuiBBbz3s84u0/STwR3c/2te+7r7a3SvcvWIgr661fKCIRF2QoK8HJqRtlwOHLtJ2OX8dtulr31A0NDQwbNgwioqKwi5FRCQrggT9FmC6mU0xs0I6w7yqeyMzGwX8PfBSX/uGKZlMMnbsWMx6+uVDRCT39Rr07t4GPAxsABJApbtvN7OHzOyhtKafBja6e1NvfTN5Av2lqZUiEnWBnsnr7uuAdd32req2/QzwTJC+g8WZM2c4c+aMgl5EIi3Wd8bqg1gRiYNYB72mVopIHMQ66JPJJEOGDOGyyy4LuxQRkayJfdCPGTNGM25EJNJiHfSacSMicRDboG9paeHEiRMKehGJvNgGfWNjI6AZNyISfbENes24EZG4iG3QJ5NJzIyysrKwSxERyapYB/3o0aPJz88PuxQRkayKbdBrxo2IxEUsg769vZ2jR4/qg1gRiYVYBv2xY8fo6OjQFb2IxEIsg75rxo2u6EUkDmId9LqiF5E4iGXQJ5NJRo4cSWFhYdiliIhkXWyDXsM2IhIXsQt6dz//1EoRkTiIXdCfOHGC1tZWBb2IxEbsgl7LB4pI3AQKejNbbGa1ZlZnZisv0uZmM9tmZtvNbFPa/r1m9m7qWHWmCr9UmnEjInEzpLcGZpYPPAncDtQDW8ysyt13pLW5DPghsNjd95vZuG4vc4u7JzNX9qVLJpMMHz6coqKisEsRERkQQa7o5wN17r7b3VuA54Al3drcB6xx9/0A7n4ks2VmjmbciEjcBAn6K4EDadv1qX3pPgqUmtmrZrbVzO5PO+bAxtT+Ff0rt//0MDMRiZteh26AnlbO9h5e5++AW4HhwOtm9oa77wQWuPuh1HDOb82sxt03X/Amnf8JrACYOHFiX84hsKamJs6ePaugF5FYCXJFXw9MSNsuBw710Ga9uzelxuI3A9cCuPuh1J9HgLV0DgVdwN1Xu3uFu1dka2hFM25EJI6CBP0WYLqZTTGzQmA5UNWtzUvATWY2xMxGANcDCTMrMrMSADMrAhYC72Wu/L7RjBsRiaNeh27cvc3MHgY2APnA0+6+3cweSh1f5e4JM1sPvAN0AE+5+3tmNhVYa2Zd7/Wsu6/P1sn0JplMUlBQwKhRo8IqQURkwAUZo8fd1wHruu1b1W37ceDxbvt2kxrCGQy6Hn2Q+o9HRCQWYnVnbENDg8bnRSR2YhP0586d4+TJkxqfF5HYiU3Qd824UdCLSNzELug1dCMicROboG9oaCAvL4/S0tKwSxERGVCxCfpkMsno0aPJz88PuxQRkQEVq6DXsI2IxFEsgr69vZ2jR4/qg1gRiaVYBH1jYyPurqAXkViKRdBrxo2IxFksgr7rYWZlZWUhVyIiMvBiEfTJZJJRo0ZRWFgYdikiIgMuNkGvYRsRiavIB727n39qpYhIHEU+6I8fP05bW5uCXkRiK/JBrxk3IhJ3kQ96LR8oInEX+aBPJpMUFRUxYsSIsEsREQlFLIJeV/MiEmeRDnp3p6GhQUEvIrEW6aBvamqiublZH8SKSKwFCnozW2xmtWZWZ2YrL9LmZjPbZmbbzWxTX/pmiz6IFRGBIb01MLN84EngdqAe2GJmVe6+I63NZcAPgcXuvt/MxgXtm02aWikiEuyKfj5Q5+673b0FeA5Y0q3NfcAad98P4O5H+tA3axoaGigsLKSkpGSg3lJEZNAJEvRXAgfStutT+9J9FCg1s1fNbKuZ3d+HvlnTNePGzAbqLUVEBp1eh26AnlLSe3idvwNuBYYDr5vZGwH7dr6J2QpgBcDEiRMDlNW7ZDLJ1KlTM/JaIiK5KsgVfT0wIW27HDjUQ5v17t7k7klgM3BtwL4AuPtqd69w94pMjKk3Nzdz6tQpfRArIrEXJOi3ANPNbIqZFQLLgapubV4CbjKzIWY2ArgeSATsmxVdH8Qq6EUk7nodunH3NjN7GNgA5ANPu/t2M3sodXyVuyfMbD3wDtABPOXu7wH01DdL5/I3NONGRKRTkDF63H0dsK7bvlXdth8HHg/SdyA0NDSQn59PaWnpQL+1iMigEtk7Y5PJJKNHjyYvL7KnKCISSGRTUMsHioh0imTQt7W1cezYMX0QKyJCRIO+sbERd9cVvYgIEQ16Ta0UEfmrSAZ911Mry8rKQq5ERCR8kQz6ZDJJaWkpBQUFYZciIhK6SAa9VpUSEfmrQDdM5ZKOjg4aGxuZNm1a2KWISAa1trZSX19Pc3Nz2KWEatiwYZSXl/dpxCJyQX/8+HHa29s140YkYurr6ykpKWHy5MmxffS4u9PY2Eh9fT1TpkwJ3C9yQzdaPlAkmpqbmykrK4ttyAOYGWVlZX3+rSZyQa+HmYlEV5xDvsul/AwiGfTFxcUMGzYs7FJEJGKKi4sv2Pe9732P2bNnM2fOHG699Vb27dsHwN69e3n22Wcv+b2+/e1vX3Lf7iIX9JpxIyID6WMf+xjV1dW88847LF26lG984xuAgj5r3P38OrEiIgPhlltuYcSIEQDccMMN1NfXA7By5Upee+015s6dy/e//33a29t59NFHue6665gzZw4//vGPATh8+DCf+MQnmDt3Ltdccw2vvfYaK1eu5OzZs8ydO5fPf/7z/a4xUrNuTp8+zblz5zQ+LxJx69ev5/3338/oa15++eUsXry4X6/xk5/8hDvuuAOAxx57jO985zu8/PLLAKxevZpRo0axZcsWzp07x4IFC1i4cCFr1qxh0aJFfPOb36S9vZ0zZ85w00038cQTT7Bt27b+nhYQsaDXjBsRCcvPfvYzqqur2bRpU4/HN27cyDvvvMMLL7wAwIkTJ9i1axfXXXcdX/rSl2htbeXuu+9m7ty5Ga8tUkGvGTci8dDfK+9Me+WVV/jWt77Fpk2bGDp0aI9t3J0f/OAHLFq06IJjmzdv5je/+Q1f+MIXePTRR7n//vszWl+kxugbGhoYOnRoj5+Mi4hkw5///Ge++tWvUlVVxbhx487vLykp4dSpU+e3Fy1axI9+9CNaW1sB2LlzJ01NTezbt49x48bxla98hS9/+cu89dZbABQUFJxv21+Ru6IfO3as5tqKSFacOXOG8vLy89tf//rXWbduHadPn2bZsmUATJw4kaqqKubMmcOQIUO49tpr+eIXv8gjjzzC3r17mTdv3vn1Ml588UVeffVVHn/8cQoKCiguLuanP/0pACtWrGDOnDnMmzePn//85/2q29y9Xy+QDRUVFV5dXd3nft/97ne56qqrWLJkSRaqEpEwJRIJZs2aFXYZg0JPPwsz2+ruFT21DzR0Y2aLzazWzOrMbGUPx282sxNmti319b/Tju01s3dT+/ue3gF1dHQwbdq0Pj3/QUQkDnodujGzfOBJ4HagHthiZlXuvqNb09fc/a6LvMwt7p7sX6kfLi8vj7vvvjubbyEikpOCXNHPB+rcfbe7twDPARobERHJEUGC/krgQNp2fWpfdzea2dtm9h9mdnXafgc2mtlWM1txsTcxsxVmVm1m1V3z4UVE0g3GzxQH2qX8DIIEfU9TWLq/01vAJHe/FvgB8GLasQXuPg+4A/iamX2ipzdx99XuXuHuFZoHLyLdDRs2jMbGxliHfdfz6Pv60MYg0yvrgQlp2+XAoW5vfjLt+3Vm9kMzG+PuSXc/lNp/xMzW0jkUtLlPVYpI7JWXl1NfX0/cf+PvWmGqL4IE/RZguplNAQ4Cy4H70huY2eXAB+7uZjafzt8UGs2sCMhz91Op7xcC/9KnCkVE6LyBSLPqLk2vQe/ubWb2MLAByAeedvftZvZQ6vgqYCnw38ysDTgLLE+F/nhgbeoGpiHAs+6+PkvnIiIiPYjUDVMiInHV7xumREQkdw3KK3ozawD29aHLGCCrN2QNQnE8Z4jnecfxnCGe592fc57k7j1OWRyUQd9XZlZ9sV9ZoiqO5wzxPO84njPE87yzdc4auhERiTgFvYhIxEUl6FeHXUAI4njOEM/zjuM5QzzPOyvnHIkxehERubioXNGLiMhF5HTQ97YgShSZ2dNmdsTM3gu7loFiZhPM7A9mljCz7Wb2SNg1DQQzG2Zmb6aeCrvdzP5P2DUNFDPLN7M/m9nLYdcyULK5SFPODt2kFkTZSdqCKMDnelgQJVJST/88DfzU3a8Ju56BYGZXAFe4+1tmVgJsBe6Owd+1AUXuftrMCoD/BB5x9zdCLi3rzOzrQAUw8kMWNIoUM9sLVGRjkaZcvqKP5YIo7r4ZOBp2HQPJ3Q+7+1up708BCXpeEyFSvNPp1GZB6is3r8z6wMzKgf8CPBV2LVGRy0EfdEEUiRAzmwx8DPh/IZcyIFJDGNuAI8Bv3T0O5/1vwDeAjpDrGGiBFmm6FLkc9EEWRJEIMbNi4FfA/0hfAyHK3L3d3efSuQ7EfDOL9HCdmd0FHHH3rWHXEoJAizRdilwO+l4XRJHoSI1R/wr4ubuvCbuegebux4FXgcXhVpJ1C4BPpcarnwP+wcx+Fm5JAyN9kSaga5GmjMjloD+/IIqZFdK5IEpVyDVJFqQ+lPwJkHD374Vdz0Axs7Fmdlnq++HAbUBNqEVlmbv/s7uXu/tkOv9N/97d/zHksrLOzIpSEw1IW6QpYzPrcjbo3b0N6FoQJQFUuvv2cKvKPjP7BfA6MMPM6s3sy2HXNAAWAF+g8+puW+rrzrCLGgBXAH8ws3fovLD5rbvHZrphzIwH/tPM3gbeBH6TyUWacnZ6pYiIBJOzV/QiIhKMgl5EJOIU9CIiEaegFxGJOAW9iEjEKehFRCJOQS8iEnEKehGRiPv/B05/KwWRIIsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 展示学习效果图，找到最佳及合适的正则化系数C\n",
    "\n",
    "l1 = []\n",
    "l2 = []\n",
    "l1test = []\n",
    "l2test = []\n",
    "\n",
    "for i in np.linspace(0.05,5,19):\n",
    "    lrl1 = LR(penalty=\"l1\",solver=\"liblinear\",C=i,max_iter=1000)\n",
    "    lrl2 = LR(penalty=\"l2\",solver=\"liblinear\",C=i,max_iter=1000)\n",
    "    lrl1 = lrl1.fit(Xtrain,Ytrain)\n",
    "    l1.append(accuracy_score(lrl1.predict(Xtrain),Ytrain))\n",
    "    l1test.append(accuracy_score(lrl1.predict(Xtest),Ytest))\n",
    "    lrl2 = lrl2.fit(Xtrain,Ytrain)\n",
    "    l2.append(accuracy_score(lrl2.predict(Xtrain),Ytrain))\n",
    "    l2test.append(accuracy_score(lrl2.predict(Xtest),Ytest))\n",
    "graph = [l1,l2,l1test,l2test]\n",
    "color = [\"green\",\"black\",\"lightgreen\",\"gray\"]\n",
    "label = [\"L1\",\"L2\",\"L1test\",\"L2test\"]\n",
    "plt.figure(figsize=(6,6))\n",
    "for i in range(len(graph)):\n",
    "    plt.plot(np.linspace(0.05,5,19),graph[i],color[i],label=label[i])\n",
    "    plt.legend(loc=4) #图例的位置在哪里?4表示，右下⻆\n",
    "    plt.show()\n",
    "    \n",
    "## 确定L2正则化下训练和测试集最优解为C=4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "5e98dfe9",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n",
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAcLklEQVR4nO3de5Bddbnm8e/Tt3S604kQGsRcSNAcQARibILKCRdDLuhBwMsBqfE+RqagZMYq5+SMf1jjqXKowpoaS5BMymEo64DUlIJEyQ2QEOGApIMBciGQE0PSBEkHot10p6/7nT96J2yaDr066e7Vvdbzqeqi91rrt/e7Ijyu/Pa71k8RgZmZZVdZ2gWYmdnIctCbmWWcg97MLOMc9GZmGeegNzPLuIq0CxjIKaecErNmzUq7DDOzcWPz5s0HI6J+oH1jMuhnzZpFY2Nj2mWYmY0bkl451j5P3ZiZZZyD3sws4xz0ZmYZ56A3M8s4B72ZWcY56M3MMs5Bb2aWcWOyj97Msq+j0MHWrq10R3fapYwZlaqkobph2N/XQW9mo25/z37Wtq2ltdCadiljSo1qHPRmNr4VokBjRyNPdzzN5LLJXFd3He+veH/aZWWeg97MRsVbhbdY17aOpp4mzqo6i8trLmeCJqRdVi4k+jJW0lJJOyXtkrR8gP0nSXpA0vOSnpH0kaRjzSz7dnft5p6We/hLz19YVLOIJTVLHPKjaNAreknlwB3AIqAJ2CRpVURsLznsvwFbIuJaSWcXj1+YcKyZZVRP9PDk4SfZ0rmFU8pP4craKzm5/OS0y8qdJFM384FdEbEbQNJ9wNVAaVh/GPgfABHxoqRZkk4Dzkww1swy6FDvIda0raG5t5m5E+Zy8cSLqZBni9OQ5E99GrCv5HUTcFG/Y54DPgc8IWk+cAYwPeFYACQtA5YBzJw5M0ntZjZG7ejcwWPtj1Gucq6qvYozq85Mu6RcSxL0GmBb9Ht9K/ATSVuAF4A/AT0Jx/ZtjFgJrARoaGgY8BgzG9u6oovH2h/jxa4XmVYxjSW1S6grq0u7rNxLEvRNwIyS19OB/aUHREQL8HUASQL+XPypGWysmWXD6z2vs6ZtDS2FFj5e/XEurL6QMvnm+7EgSdBvAuZImg28ClwP3FB6gKT3Ae0R0QX8R2BjRLRIGnSsmY1vEcGfOv/Ek4efpEY1fH7S55lWOS3tsqzEoEEfET2SbgbWAeXAXRGxTdKNxf0rgHOAX0jqpe+L1m++19iRORUzG23thXbWt63nlZ5X+GDlB7mi5gqqy6rTLsv6UcTYmw5vaGgIrxlrNrCOQgeH43DaZXCo9xCPtj9KZ3SyYOICzp9wPn0zt5YGSZsjYsDnJ7jXyWyciAi2dW3j8fbH6aEn7XIAOLnsZK6ZdA31FfVpl2LvwUFvNg50RiePtj3Ky90vM6NiBh+e8GE0YFPb6CmjjFmVs6hUZap12OAc9GZj3Gs9rx190uMnqz9JQ3WDp0hsSBz0ZmNURNDY2cjTh5+mtqyWL9Z9kdMrTk+7LBuHHPRmY1BboY11bevY17OPOZVzWFizkAllfgiYHR8HvdkYs6d7D+vb1tMd3SysWci5Ved6qsZOiIPebIzojV7+7fC/8Wzns0wtm8qVdVcytXxq2mVZBjjozcaAv/b+lTVtazjQe4DzJpzHJRMv8ZMebdj43ySzlL3Y9SKPtT2GJD5T+xk+VPWhtEuyjHHQm6WkK7rY0L6BHV07OL38dJZOWsrksslpl2UZ5KA3S0FzTzOr21bz18JfmV89n4uqL/KTHm3EOOjNRlFE8Fznczxx+AmqVc3nJn2OGZUzBh9odgIc9GYJdEUXTxx+gtd7Xj+h9+mObg4VDjG7cjaLahYxsWziMFVodmwOerNBlC6oMaNixglPscytnst5Vee5N95GjYPe7Bi8oIZlhYPebADthXYebnuYPT17OLPyTK6oucLTLDZuOejN+tnXvY91bevoiA4um3iZF9Swcc9Bb1bUG738seOPbOrYxEllJ3H1pKu9oIZlgoPeDGjpbWFt21pe632Nc6vO5dKaS72ghmVGoqCXtBT4CX0LfP88Im7tt38K8K/AzOJ7/jgi/m9x3x6gFegFeo61pqFZWl7ueplH2h+BgKW1Szmr6qy0SzIbVoMGvaRy4A5gEdAEbJK0KiK2lxx2E7A9Iq6SVA/slHRPRHQV918eEQeHu3izE9Ed3Wxs38jWrq2cVn4aV9ZeyZTyKWmXZTbsklzRzwd2RcRuAEn3AVcDpUEfQJ36vrGaBLwJY2T1YrMBHOw9yNq31vJG4Q0+NuFjfGLiJyhXedplmY2IJEE/DdhX8roJuKjfMbcDq4D9QB1wXUQUivsCWC8pgP8dESsH+hBJy4BlADNnzkx8AmZDERFs7drK4+2PM0ETuGbSNZxReUbaZZmNqCRBP1BfWfR7vQTYAnwK+CDwsKQ/REQLcHFE7Jd0anH7ixGx8V1v2Pd/ACsBGhoa+r+/2QnrKHTwaPuj7OrexcyKmSyuXUxtWW3aZZmNuCRB3wSUPnVpOn1X7qW+DtwaEQHskvRn4GzgmYjYDxARByQ9QN9U0LuC3t7WHd282PUi3dGddimZEfQ9TKyt0MbfT/x75k2Y5954y40kQb8JmCNpNvAqcD1wQ79j9gILgT9IOg04C9gtqRYoi4jW4u+LgR8OW/UZ1NzTzJq2NRwqHEq7lMyZUjaFL9Z9kfdXvD/tUsxG1aBBHxE9km4G1tHXXnlXRGyTdGNx/wrgX4C7Jb1A31TPP0XEQUlnAg8Ur5wqgHsjYu0Incu4FhE83/k8fzj8h6Nzxw6k4VVJpZ/5brmkvtmWsaWhoSEaGxvTLmPUdBQ6eLj9YXZ372ZWxSwW1S6ipqwm7bLMbByRtPlY9yn5ztiUvdr9Kmvb1tIe7SyYuICPTvio547NbFg56FNSiALPdDzDMx3PMLlsMv846R85reK0tMsyswxy0KegtdDKurZ1vNrzKmdXnc3lNZdTpaq0yzKzjHLQj7J/7/p3Hml/hN7oZXHNYs6ZcE7aJZlZxjnoR0lP9PDE4Sd4rvM5Ti0/laW1Szmp/KS0yzKzHHDQj4I3e99kTdsaDvYe5KMTPsonJ36SCvmP3sxGh9NmBEUE27u2s6F9A5Wq5LOTPsvsytlpl2VmOeOgHyGd0cnv237PS90vMb1iOktqlzCpbFLaZZlZDjnoR8Bfev7CmrY1tBZa+UT1J2iobvAdmWaWGgf9MIoINndu5qnDT1FbVssX6r7AByo+kHZZZpZzDvph0lZoY33bevb27OVDlR9iYc1Cqsuq0y7LzMxBPxxe6X6FdW3r6IouPlXzKT5S9RE/xsDMxgwH/QnojV6eOvwUmzs3M7VsKp+v+zxTy6emXZaZ2Ts46I/T33r/xpq2Nbze+zrnVZ3HJTWXuDfezMYkJ9Nx2Nm1k9+3/R5JfLr208ypmpN2SWZmx+SgH4Lu6GZD+wa2d23n9PLTWVq7lMnlk9Muy8zsPTnoEypd4u/C6gv5ePXH3RtvZuOCg34QpUv8Vauaz036HDMqZww+0MxsjHDQv4fDhcM80v5I3xJ/lbNYVOMl/sxs/Ek09yBpqaSdknZJWj7A/imSfivpOUnbJH096dix6tXuV7m35V72dO/hkomX8NnazzrkzWxcGvSKXlI5cAewCGgCNklaFRHbSw67CdgeEVdJqgd2SroH6E0wdkwpXeJvStkUrpt0HadWnJp2WWZmxy3J1M18YFdE7AaQdB9wNVAa1gHUqe920EnAm0APcFGCsWNGRPDgWw+yt2cv51Sdw2U1l3mJPzMb95JM3UwD9pW8bipuK3U7cA6wH3gBuCUiCgnHAiBpmaRGSY3Nzc0Jyx9erdHK3p69zK+ez+LaxQ55M8uEJEE/0ENbot/rJcAW4APAXOB2SZMTju3bGLEyIhoioqG+vj5BWcOvtbcVwE+cNLNMSRL0TUBpP+F0+q7cS30duD/67AL+DJydcOyY0VJoAWBymW+CMrPsSBL0m4A5kmZLqgKuB1b1O2YvsBBA0mnAWcDuhGPHjCNBX1dWl3IlZmbDZ9AvYyOiR9LNwDqgHLgrIrZJurG4fwXwL8Ddkl6gb7rmnyLiIMBAY0fmVE5cS6GFWtX64WRmlimJEi0iVgOr+21bUfL7fmBx0rFjVUuhxdM2ZpY5flhLidZCq6dtzCxzHPRFhSjQWmj10yjNLHMc9EVt0UaBgqduzCxzHPRFLb1urTSzbHLQF7UW+m6WctCbWdY46IvcQ29mWeWgL2optFCjGvfQm1nmOOiL3ENvZlnloC9y0JtZVjnoebuH3vPzZpZFDnpKeuh9s5SZZZCDHrdWmlm2OejxzVJmlm0OerzgiJllm4Me99CbWbY56HFrpZllm4OevqB3a6WZZVXugz4ieKvwlq/ozSyzch/0bdFGL73uoTezzEoU9JKWStopaZek5QPs/56kLcWfrZJ6JZ1c3LdH0gvFfY3DfQInyh03ZpZ1g7aZSCoH7gAWAU3AJkmrImL7kWMi4jbgtuLxVwH/JSLeLHmbyyPi4LBWPkwc9GaWdUmu6OcDuyJid0R0AfcBV7/H8V8CfjkcxY2GIzdL+ctYM8uqJEE/DdhX8rqpuO1dJNUAS4Ffl2wOYL2kzZKWHetDJC2T1Cipsbm5OUFZw6O10MpETaRSlaP2mWZmoylJ0GuAbXGMY68Cnuw3bXNxRMwDrgRuknTJQAMjYmVENEREQ319fYKyhod76M0s65IEfRMwo+T1dGD/MY69nn7TNhGxv/jPA8AD9E0FjRkOejPLuiRBvwmYI2m2pCr6wnxV/4MkTQEuBR4s2VYrqe7I78BiYOtwFD4cIoLWQquD3swybdCum4jokXQzsA4oB+6KiG2SbizuX1E89FpgfUS0lQw/DXhA0pHPujci1g7nCZyI9minl15/EWtmmZboKV4RsRpY3W/bin6v7wbu7rdtN3DBCVU4go62VvpmKTPLsFzfGeseejPLg3wHvRccMbMcyHfQF1rcQ29mmZfroG8ttPqLWDPLvFwHvXvozSwPchv0EeGgN7NcyG3QH+mhd9CbWdblNujdQ29meZH7oPeXsWaWdbkN+tZCK+AeejPLvtwGfUtvC9WqpkpVaZdiZjai8hv07rgxs5xw0JuZZVwug9499GaWJ7kMej+H3szyJJdB744bM8uTXAa9b5YyszzJddB76sbM8iBR0EtaKmmnpF2Slg+w/3uSthR/tkrqlXRykrFpaCn09dBP0IS0SzEzG3GDBr2kcuAO4Ergw8CXJH249JiIuC0i5kbEXOCfgccj4s0kY9PQ0uuOGzPLjyRX9POBXRGxOyK6gPuAq9/j+C8BvzzOsaPCC46YWZ4kCfppwL6S103Fbe8iqQZYCvx6qGNHi3vozSxvkgS9BtgWxzj2KuDJiHhzqGMlLZPUKKmxubk5QVnH53AcpoceB72Z5UaSoG8CZpS8ng7sP8ax1/P2tM2QxkbEyohoiIiG+vr6BGUdn6OtlQ56M8uJJEG/CZgjabakKvrCfFX/gyRNAS4FHhzq2NF05GYpz9GbWV5UDHZARPRIuhlYB5QDd0XENkk3FvevKB56LbA+ItoGGzvcJzEUvlnKzPJm0KAHiIjVwOp+21b0e303cHeSsWlqKbQwQRPcQ29muZG7O2PdQ29meZO/oHdrpZnlTK6CPiJ8s5SZ5U6ugr4jOuim21f0ZpYruQp699CbWR456M3MMs5Bb2aWcbkL+gmawIQy99CbWX7kLujdcWNmeZOroG/tbfW0jZnlTm6C3s+hN7O8yk3Qu4fezPIqN0HvjhszyysHvZlZxuUm6L3giJnlVW6CvqXQQhVVfg69meVOroJ+cvlkpIHWKzczy658Bb3n580sh3IR9BHhm6XMLLcSBb2kpZJ2StolafkxjrlM0hZJ2yQ9XrJ9j6QXivsah6vwoeiMTrro8hexZpZLgy4OLqkcuANYBDQBmyStiojtJce8D/gZsDQi9ko6td/bXB4RB4ev7KFxa6WZ5VmSK/r5wK6I2B0RXcB9wNX9jrkBuD8i9gJExIHhLfPEOOjNLM+SBP00YF/J66bitlJ/B5wkaYOkzZK+UrIvgPXF7cuO9SGSlklqlNTY3NyctP5EHPRmlmeDTt0AA/UjxgDv8zFgITAReErS0xHxEnBxROwvTuc8LOnFiNj4rjeMWAmsBGhoaOj//iektdDqHnozy60kV/RNwIyS19OB/QMcszYi2opz8RuBCwAiYn/xnweAB+ibChpVLYUW6srr3ENvZrmUJOg3AXMkzZZUBVwPrOp3zIPAAkkVkmqAi4Adkmol1QFIqgUWA1uHr/xk3ENvZnk26NRNRPRIuhlYB5QDd0XENkk3FveviIgdktYCzwMF4OcRsVXSmcADxSvpCuDeiFg7UidzjPpp6W1hWkX/rxXMzPIhyRw9EbEaWN1v24p+r28Dbuu3bTfFKZy0HOmh9xW9meVV5u+MPdJx45ulzCyvMh/0Rx5P7Ct6M8urzAe9e+jNLO9yEfSVVFKt6rRLMTNLRS6CfnKZn0NvZvmVj6Av97SNmeVXLoLeHTdmlmeZDvrOQidd4R56M8u3TAe9O27MzBz0ZmaZ56A3M8u4zAe9e+jNLO8yHfSthVb30JtZ7mU66N1aaWaWg6D3zVJmlneZDfrO6KQzOv1FrJnlXmaDvqXXHTdmZpDhoD/yHHrP0ZtZ3mU26N1Db2bWJ1HQS1oqaaekXZKWH+OYyyRtkbRN0uNDGTsSWgotVFDBRE0crY80MxuTBl0cXFI5cAewCGgCNklaFRHbS455H/AzYGlE7JV0atKxI8XPoTcz65Pkin4+sCsidkdEF3AfcHW/Y24A7o+IvQARcWAIY0dEa6HV8/NmZiQL+mnAvpLXTcVtpf4OOEnSBkmbJX1lCGMBkLRMUqOkxubm5mTVvwf30JuZ9Rl06gYYaO4jBnifjwELgYnAU5KeTji2b2PESmAlQENDw4DHJNUZnXREh7+INTMjWdA3ATNKXk8H9g9wzMGIaAPaJG0ELkg4dtgdaa100JuZJZu62QTMkTRbUhVwPbCq3zEPAgskVUiqAS4CdiQcO+x8s5SZ2dsGvaKPiB5JNwPrgHLgrojYJunG4v4VEbFD0lrgeaAA/DwitgIMNHaEzuWoIz30/jLWzCzZ1A0RsRpY3W/bin6vbwNuSzJ2pLUWWimnnBrVjObHmpmNSZm8M9Y99GZmb8t00JuZmYPezCzzMhf0XdHV10Pvm6XMzIAMBr2fWmlm9k7ZC/pet1aamZVK1F45nviuWLNs6u7upqmpiY6OjrRLSVV1dTXTp0+nsrIy8ZjMBX1LocU99GYZ1NTURF1dHbNmzcpt63RE8MYbb9DU1MTs2bMTj8ve1I176M0yqaOjg6lTp+b6v21JTJ06dch/q8ls0JtZ9uQ55I84nj+DzAW9FxwxM3unTAV9V3RxOA67h97MRsSkSZPetW3jxo3MmzePiooKfvWrXx3dvmfPHu69997j/qwf/ehHxz22v0wFvTtuzGy0zZw5k7vvvpsbbrjhHdvHUtBnquvGN0uZ5cPj7Y/T3HviS46Wqi+v59KaS4c8btasWQCUlb3zunn58uXs2LGDuXPn8tWvfpXvfOc7LF++nA0bNtDZ2clNN93Et7/9bV577TWuu+46Wlpa6Onp4c477+Shhx7i8OHDzJ07l3PPPZd77rnnhM4tW0HvBUfMbIy49dZb+fGPf8zvfvc7AFauXMmUKVPYtGkTnZ2dXHzxxSxevJj777+fJUuW8P3vf5/e3l7a29tZsGABt99+O1u2bBmWWjIV9H4OvVk+HM+Vd9rWr1/P888/f3Qe/29/+xsvv/wyF154Id/4xjfo7u7mmmuuYe7cucP+2ZkK+pZCC3VldW7BMrMxJyL46U9/ypIlS961b+PGjTz00EN8+ctf5nvf+x5f+cpXhvWzM/VlrHvozWysqKuro7W19ejrJUuWcOedd9Ld3Q3ASy+9RFtbG6+88gqnnnoq3/rWt/jmN7/Js88+C0BlZeXRY09U5q7oP1j5wbTLMLOMam9vZ/r06Udff/e732XBggVce+21HDp0iN/+9rf84Ac/YNu2bZx//vlUVFRwwQUX8LWvfY1bbrmFPXv2MG/ePCKC+vp6fvOb37BhwwZuu+02KisrmTRpEr/4xS8AWLZsGeeffz7z5s074S9jFRGDHyQtBX5C3wLfP4+IW/vtvwx4EPhzcdP9EfHD4r49QCvQC/RERMNgn9fQ0BCNjY2JTwL6/lq0vn09Z1ScwdkTzh7SWDMb+3bs2ME555yTdhljwkB/FpI2HytfB72il1QO3AEsApqATZJWRcT2fof+ISL+4Rhvc3lEHBy0+hMgiSW17577MjPLuyRz9POBXRGxOyK6gPuAq0e2LDMzGy5Jgn4asK/kdVNxW3+fkPScpDWSzi3ZHsB6SZslLTvWh0haJqlRUmNz8/DeCGFm2ZBkqjnrjufPIEnQD9Sr2P+TngXOiIgLgJ8CvynZd3FEzAOuBG6SdMlAHxIRKyOiISIa6uvrE5RlZnlSXV3NG2+8keuwP/I8+urq6iGNS9J10wTMKHk9Hdjf78NbSn5fLelnkk6JiIMRsb+4/YCkB+ibCto4pCrNLPemT59OU1MTef8b/5EVpoYiSdBvAuZImg28ClwPvOPpPZLeD7weESFpPn1/U3hDUi1QFhGtxd8XAz8cUoVmZvT1lQ9lVSV726BBHxE9km4G1tHXXnlXRGyTdGNx/wrgC8B/ktQDHAauL4b+acADxTtVK4B7I2LtCJ2LmZkNIFEf/Wg7nj56M7M8e68++kw9AsHMzN5tTF7RS2oGXhnCkFOAEb0hawzK4zlDPs87j+cM+TzvEznnMyJiwJbFMRn0QyWpMcmjFbIkj+cM+TzvPJ4z5PO8R+qcPXVjZpZxDnozs4zLStCvTLuAFOTxnCGf553Hc4Z8nveInHMm5ujNzOzYsnJFb2Zmx+CgNzPLuHEd9JKWStopaZek5WnXMxok3SXpgKStadcyWiTNkPSYpB2Stkm6Je2aRoOkaknPFB//vU3Sf0+7ptEiqVzSnyT9Lu1aRoukPZJekLRF0rA+GmDcztEXV756iZKVr4AvDbDyVaYUH/P8FvCLiPhI2vWMBkmnA6dHxLOS6oDNwDU5+N9aQG1EvCWpEngCuCUink65tBEn6btAAzD5PVauy5TisqsNI7Ea33i+os/lylcRsRF4M+06RlNEvBYRzxZ/bwV2MPDiN5kSfd4qvqws/ozPK7MhkDQd+Azw87RryYrxHPRJV76yDJE0C/go8MeUSxkVxSmMLcAB4OGIyMN5/y/gvwKFlOsYbYlW4zse4znok6x8ZRkiaRLwa+A/ly52k2UR0RsRc+lb8Ge+pExP10n6B+BARGxOu5YUJFqN73iM56AfdOUry47iHPWvgXsi4v606xltEfFXYAOwNN1KRtzFwGeL89X3AZ+S9K/pljQ6SlfjA46sxjcsxnPQH135SlIVfStfrUq5JhsBxS8l/w+wIyL+Z9r1jBZJ9ZLeV/x9InAF8GKqRY2wiPjniJgeEbPo+2/69xHxH1Iua8RJqi02GlCyGt+wddaN26CPiB7gyMpXO4D/FxHb0q1q5En6JfAUcJakJknfTLumUXAx8GX6ru62FH8+nXZRo+B04DFJz9N3YfNwROSm3TBnTgOekPQc8Azw0HCuxjdu2yvNzCyZcXtFb2ZmyTjozcwyzkFvZpZxDnozs4xz0JuZZZyD3sws4xz0ZmYZ9/8BNmWezVbEfd8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 展示学习效果图，找到最佳及合适的正则化系数C\n",
    "\n",
    "l1 = []\n",
    "l2 = []\n",
    "l1test = []\n",
    "l2test = []\n",
    "\n",
    "for i in np.linspace(0.05,5,19):\n",
    "    lrl1 = LR(penalty=\"l1\",solver=\"liblinear\",C=i,max_iter=1000)\n",
    "    lrl2 = LR(penalty=\"l2\",solver=\"sag\",C=i,max_iter=1000)\n",
    "    lrl1 = lrl1.fit(Xtrain,Ytrain)\n",
    "    l1.append(accuracy_score(lrl1.predict(Xtrain),Ytrain))\n",
    "    l1test.append(accuracy_score(lrl1.predict(Xtest),Ytest))\n",
    "    lrl2 = lrl2.fit(Xtrain,Ytrain)\n",
    "    l2.append(accuracy_score(lrl2.predict(Xtrain),Ytrain))\n",
    "    l2test.append(accuracy_score(lrl2.predict(Xtest),Ytest))\n",
    "graph = [l1,l2,l1test,l2test]\n",
    "color = [\"green\",\"black\",\"lightgreen\",\"gray\"]\n",
    "label = [\"L1\",\"L2\",\"L1test\",\"L2test\"]\n",
    "plt.figure(figsize=(6,6))\n",
    "for i in range(len(graph)):\n",
    "    plt.plot(np.linspace(0.05,5,19),graph[i],color[i],label=label[i])\n",
    "    plt.legend(loc=4) \n",
    "    plt.show()\n",
    "    \n",
    "## 确定L2正则化下训练和测试集最优解为solver=\"sag\"，C=2 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "a818184a",
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 展示学习效果图，找到最佳及合适的正则化系数C\n",
    "\n",
    "l1 = []\n",
    "l2 = []\n",
    "l1test = []\n",
    "l2test = []\n",
    "\n",
    "for i in np.linspace(0.05,5,19):\n",
    "    lrl1 = LR(penalty=\"l1\",solver=\"liblinear\",C=i,max_iter=1000)\n",
    "    lrl2 = LR(penalty=\"l2\",solver=\"lbfgs\",C=i,max_iter=1000)\n",
    "    lrl1 = lrl1.fit(Xtrain,Ytrain)\n",
    "    l1.append(accuracy_score(lrl1.predict(Xtrain),Ytrain))\n",
    "    l1test.append(accuracy_score(lrl1.predict(Xtest),Ytest))\n",
    "    lrl2 = lrl2.fit(Xtrain,Ytrain)\n",
    "    l2.append(accuracy_score(lrl2.predict(Xtrain),Ytrain))\n",
    "    l2test.append(accuracy_score(lrl2.predict(Xtest),Ytest))\n",
    "graph = [l1,l2,l1test,l2test]\n",
    "color = [\"green\",\"black\",\"lightgreen\",\"gray\"]\n",
    "label = [\"L1\",\"L2\",\"L1test\",\"L2test\"]\n",
    "plt.figure(figsize=(6,6))\n",
    "for i in range(len(graph)):\n",
    "    plt.plot(np.linspace(0.05,5,19),graph[i],color[i],label=label[i])\n",
    "    plt.legend(loc=4) \n",
    "    plt.show()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "4c9c53b4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9111111111111111"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(lrl1.predict(Xtest),Ytest)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a34ab340",
   "metadata": {},
   "source": [
    "## 将最优的结果重新用来实例化模型，查看训练集和测试集下的分数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "dc01620e",
   "metadata": {},
   "outputs": [],
   "source": [
    "## 验证\n",
    "lrl2 = LR(penalty=\"l2\",solver=\"lbfgs\",C=3,max_iter=1000) \n",
    "#S = accuracy_score(lrl2.predict(Xtest),Ytest)\n",
    "\n",
    "## 确定L2正则化下训练和测试集最优解为solver=\"lbfgs\"，C=3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "b7e24aa9",
   "metadata": {},
   "outputs": [],
   "source": [
    "lrl2 = lrl2.fit(Xtrain,Ytrain)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fb759f53",
   "metadata": {},
   "source": [
    "## 计算精准率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "5facf417",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9555555555555556"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(lrl2.predict(Xtest),Ytest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "id": "a98310a9",
   "metadata": {},
   "outputs": [],
   "source": [
    "lrl2 = LR(penalty=\"l2\",solver=\"newton-cg\",C=3,max_iter=1000) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "id": "af42a9b4",
   "metadata": {},
   "outputs": [],
   "source": [
    "lrl2 = lrl2.fit(Xtrain,Ytrain)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "id": "3f13f63f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9555555555555556"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(lrl2.predict(Xtest),Ytest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "id": "80c970a2",
   "metadata": {},
   "outputs": [],
   "source": [
    "lrl2 = LR(penalty=\"l2\",solver=\"sag\",C=3,max_iter=1000) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "e8580153",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/wangyue/Downloads/yes/lib/python3.9/site-packages/sklearn/linear_model/_sag.py:352: ConvergenceWarning: The max_iter was reached which means the coef_ did not converge\n",
      "  warnings.warn(\n"
     ]
    }
   ],
   "source": [
    "lrl2 = lrl2.fit(Xtrain,Ytrain)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "id": "d05ead96",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9555555555555556"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(lrl2.predict(Xtest),Ytest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "08aeb895",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "python3.9",
   "language": "python",
   "name": "python3.9"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
